package com.smart.community.parking.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 充电桩实体类
 * 
 * @author Wu.Liang
 * @since 2024-12-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sc_charging_pile")
public class ChargingPile {

    /**
     * 充电桩ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 充电桩编码
     */
    @TableField("pile_code")
    private String pileCode;

    /**
     * 充电桩名称
     */
    @TableField("pile_name")
    private String pileName;

    /**
     * 所属社区ID
     */
    @TableField("community_id")
    private Long communityId;

    /**
     * 充电桩类型：1-机动车直流快充，2-机动车交流慢充，3-电瓶车充电桩
     */
    @TableField("pile_type")
    private Integer pileType;

    /**
     * 额定功率(kW)
     */
    @TableField("power_rating")
    private BigDecimal powerRating;

    /**
     * 工作状态：0-故障，1-空闲，2-充电中，3-维护中
     */
    @TableField("work_status")
    private Integer workStatus;

    /**
     * 当前功率(kW)
     */
    @TableField("current_power")
    private BigDecimal currentPower;

    /**
     * 温度(℃)
     */
    @TableField("temperature")
    private BigDecimal temperature;

    /**
     * 总充电次数
     */
    @TableField("total_charge_count")
    private Integer totalChargeCount;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 逻辑删除标识：0-未删除，1-已删除
     */
    @TableLogic
    @TableField("deleted")
    private Integer deleted;
} 